# 作者：一只牛吗
# 2025 年01月 20日 01时 45分 39秒
# 1278599690@qq.com
import my_first_module


my_list = [my_first_module.print_line('*', i) for i in range(1, 6)]
print(my_list)


# 循环生成列表
list_test = []
for i in range(10):
    list_test.append(i)
print(list_test)


# 列表生成式,与循环生成列表的区别在于,列表生成式更加简洁,代码更加直观
list_test1 = [x for x in range(10)]
print(list_test1)
# 格式[表达式 for 变量 in 可迭代对象 if 条件]

# 2个for循环
a = [j for i in range(10) for j in range(i)]
print('2个for循环:')
print(a)

# 二维列表生成式
a = [[col*row for col in range(5)] for row in range(5)]
print('2维列表生成式:')
print(a)

# 二维转一维
b = [j for x in a for j in x]
print('二维转一维:')
print(b)

# 只有if条件的列表生成式
c = [x for x in range(10) if x % 2 == 0]
print('偶数生成式:')
print(c)

# 列表生成式的嵌套三元表达式，在三元表达式中if-else要放在for的前面
d = [x if x % 2 == 0 else 'odd' for x in range(10)]
print('嵌套三元表达式:')
print(d)


# 只有在列表生成式中能在一个语句中完成双层循环的操作，下列代码是错误的
# list2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# for i in list2 for j in i:
#     print(j)